home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / telecomm / uemlsrc.arc / keybrd.c < prev    next >
C/C++ Source or Header  |  1987-08-24  |  27KB  |  703 lines

  1. /* KEYBRD.C this file contain the
  2.  * keyboard processing code, for the
  3.  * MicroEMACS screen editor.
  4.  */
  5. #include        <stdio.h>
  6. #include        "ed.h"
  7.  
  8. #define FLEN    14                      /* Maximum length of function name */
  9.  
  10. typedef struct  {
  11.         short   k_code;                 /* Key code                     */
  12.         int     (*k_fp)();              /* Routine to handle it         */
  13.         char    k_mfunc[FLEN];          /* function name                */
  14. }       KEYTAB;
  15.  
  16. extern  int     clearflag();            /* Clear changed buffer flag    */
  17. extern  int     ctrlg();                /* Abort out of things          */
  18. extern  int     quit();                 /* Quit                         */
  19. extern  int     ctlxlp();               /* Begin macro                  */
  20. extern  int     ctlxrp();               /* End macro                    */
  21. extern  int     ctlxe();                /* Execute macro                */
  22. extern  int     fileinsert();           /* Insert existing file at point*/
  23. extern  int     fileread();             /* Get a file, read only        */
  24. extern  int     filevisit();            /* Get a file, read write       */
  25. extern  int     filewrite();            /* Write a file                 */
  26. extern  int     filesave();             /* Save current file            */
  27. extern  int     filename();             /* Adjust file name             */
  28. extern  int     getccol();              /* Get current column           */
  29. extern  int     gotobol();              /* Move to start of line        */
  30. extern  int     forwchar();             /* Move forward by characters   */
  31. extern  int     gotoeol();              /* Move to end of line          */
  32. extern  int     backchar();             /* Move backward by characters  */
  33. extern  int     forwline();             /* Move forward by lines        */
  34. extern  int     backline();             /* Move backward by lines       */
  35. extern  int     forwpage();             /* Move forward by pages        */
  36. extern  int     backpage();             /* Move backward by pages       */
  37. extern  int     gotobob();              /* Move to start of buffer      */
  38. extern  int     gotoeob();              /* Move to end of buffer        */
  39. extern  int     setfillcol();           /* Set fill column.             */
  40. extern  int     setindcol();            /* Set indent column            */
  41. extern  int     setmark();              /* Set mark                     */
  42. extern  int     swapmark();             /* Swap "." and mark            */
  43. extern  int     forwsearch();           /* Search forward               */
  44. extern  int     backsearch();           /* Search backward              */
  45. extern  int     forwisearch();          /* I-search forward             */
  46. extern  int     backisearch();          /* I-search backward            */
  47. extern  int     replace();              /* Search and replace           */
  48. extern  int     showcpos();             /* Show the cursor position     */
  49. extern  int     nextwind();             /* Move to the next window      */
  50. extern  int     prevwind();             /* Move to the previous window  */
  51. extern  int     onlywind();             /* Make current window only one */
  52. extern  int     splitwind();            /* Split current window         */
  53. extern  int     mvdnwind();             /* Move window down             */
  54. extern  int     mvupwind();             /* Move window up               */
  55. extern  int     enlargewind();          /* Enlarge display window.      */
  56. extern  int     shrinkwind();           /* Shrink window.               */
  57. extern  int     listbuffers();          /* Display list of buffers      */
  58. extern  int     paintbuffer();          /* Set background buffer color  */
  59. extern  int     usebuffer();            /* Switch a window to a buffer  */
  60. extern  int     killbuffer();           /* Make a buffer go away.       */
  61. extern  int     reposition();           /* Reposition window            */
  62. extern  int     refresh();              /* Refresh the screen           */
  63. extern  int     twiddle();              /* Twiddle characters           */
  64. extern  int     tab();                  /* Insert tab                   */
  65. extern  int     newline();              /* Insert CR-LF                 */
  66. extern  int     indent();               /* Insert CR-LF, then indent    */
  67. extern  int     openline();             /* Open up a blank line         */
  68. extern  int     deblank();              /* Delete blank lines           */
  69. extern  int     quote();                /* Insert literal               */
  70. extern  int     backword();             /* Backup by words              */
  71. extern  int     forwword();             /* Advance by words             */
  72. extern  int     forwdel();              /* Forward delete               */
  73. extern  int     backdel();              /* Backward delete              */
  74. extern  int     kill();                 /* Kill forward                 */
  75. extern  int     yank();                 /* Yank back from killbuffer.   */
  76. extern  int     upperword();            /* Upper case word.             */
  77. extern  int     lowerword();            /* Lower case word.             */
  78. extern  int     upperregion();          /* Upper case region.           */
  79. extern  int     lowerregion();          /* Lower case region.           */
  80. extern  int     capword();              /* Initial capitalize word.     */
  81. extern  int     delfword();             /* Delete forward word.         */
  82. extern  int     delbword();             /* Delete backward word.        */
  83. extern  int     killregion();           /* Kill region.                 */
  84. extern  int     copyregion();           /* Copy region to kill buffer.  */
  85. extern  int     writereg();             /* write defined region to file */
  86. extern  int     quickexit();            /* low keystroke style exit.    */
  87. extern  int     goteop();               /* goto end of paragraph */
  88. extern  int     gotbop();               /* goto beginning of paragraph */
  89. extern  int     unkncom();              /* unknown command BEEP */
  90. extern  int     ftopunct();             /* move forward to next punctuation */
  91. extern  int     btopunct();             /* move backward to last punctuation */
  92. extern  int     forwsent();             /* forward to end of sentence */
  93. extern  int     backsent();             /* backward to beginning of sentence */
  94. extern  int     fillpar();              /* fill paragraph to fill column */
  95. extern  int     setpage();              /* set page size from arg */
  96. extern  int     paginate();             /* insert '\f' every page */
  97. extern  int     pageforw();             /* move forward set page length */
  98. extern  int     pageback();             /* move back set page length */
  99. extern  int     print();                /* print buffer with heading */
  100. extern  int     wc();                   /* word and line count of buffer */
  101. extern  int     retversion();           /* version date */
  102. extern  int     kermit();               /* file transfer */
  103.  
  104. /* From here on the commands are from misc.c */
  105. extern  int     mdropln();              /* drop current line and move up*/
  106. extern  int     mindnl();               /* indent subsequent NL same as this */
  107. extern  int     mdeleln();              /* delete entire line from beginning */
  108. extern  int     mdelwln();              /* delete entire line including NL   */
  109. extern  int     mdelind();              /* delete beginning line indentation */
  110. extern  int     markpar();              /* mark paragraph sets mark */
  111. extern  int     tglcase();              /* toggle case of letter at point */
  112. extern  int     killsent();             /* kill sentence forward sets mark */
  113. extern  int     grtw();                 /* remove trailing white space */
  114. extern  int     twaddle();              /* transpaose two words in place */
  115. extern  int     clowsp();               /* close up intervening white space */
  116. extern  int     mrflush();              /* flush right current line */
  117. extern  int     mcenter();              /* center current line */
  118. extern  int     setmode();              /* set a mode for a buffer */
  119. extern  int     sglmode();              /* set global mode      */
  120. extern  int     rettpa();               /* show